package com.it.common;

import com.it.enums.ErrorCode;
import lombok.Data;


@Data
public class ResultResponse<T> {

    /**
     * 返回状态值
     * 0 : 成功
     * 1 : 失败
     */
    private Integer code;

    /**
     * 返回数据
     */
    private T data;

    /**
     * 返回信息
     * success : 成功
     * fail : 失败
     */
    private String message;

    /**
     * 错误具体描述
     */
    private String description;

    /**
     * 成功返回的响应
     *
     * @param code
     * @param data
     * @param message
     * @param description
     */
    public ResultResponse(Integer code, T data, String message, String description) {
        this.code = code;
        this.data = data;
        this.message = message;
        this.description = description;
    }

    /**
     * 成功返回的响应
     *
     * @param code
     * @param data
     * @param message
     */
    public ResultResponse(Integer code, T data, String message) {
        this.code = code;
        this.data = data;
        this.message = message;
        this.description = "";
    }

    /**
     * 失败返回的错误响应
     *
     * @param errorCode
     */
    public ResultResponse(ErrorCode errorCode) {
        this(errorCode.getCode(), null, errorCode.getMessage(), errorCode.getDescription());
    }


    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }


    public String getDescription() {
        return description;
    }


}
